/*** 
 * @Author: git config user.name && git config user.email
 * @Date: 2024-11-18 09:59:01
 * @LastEditors: git config user.name && git config user.email
 * @LastEditTime: 2024-11-19 14:43:08
 * @FilePath: \GD1_1031\Driver\Include\program_types.h
 * @Description: reagan's code
 * @earth
 * @Copyright (c) 2024 by reagan, All Rights Reserved. 
 */
/*!< STM32F10x Standard Peripheral Library old types (maintained for legacy purpose) */

#ifndef __PROGRAM_TYPE_H
#define __PROGRAM_TYPE_H
#include <stdint.h>
#include <string.h>

#define     __O     volatile             /*!< Defines 'write only' permissions                */
#define     __IO    volatile             /*!< Defines 'read / write' permissions              */
#define   __I     volatile             /*!< Defines 'read only' permissions                 */
typedef int64_t  s64;
typedef int32_t  s32;
typedef int16_t  s16;
typedef int8_t   s8;

typedef const int32_t sc32;  /*!< Read Only */
typedef const int16_t sc16;  /*!< Read Only */
typedef const int8_t sc8;   /*!< Read Only */

typedef __IO int32_t  vs32;
typedef __IO int16_t  vs16;
typedef __IO int8_t   vs8;

typedef __I int32_t vsc32;  /*!< Read Only */
typedef __I int16_t vsc16;  /*!< Read Only */
typedef __I int8_t vsc8;   /*!< Read Only */

typedef uint32_t  u32;
typedef uint16_t u16;
typedef uint8_t  u8;

typedef const uint32_t uc32;  /*!< Read Only */
typedef const uint16_t uc16;  /*!< Read Only */
typedef const uint8_t uc8;   /*!< Read Only */

typedef __IO uint32_t  vu32;
typedef __IO uint16_t vu16;
typedef __IO uint8_t  vu8;

typedef __I uint32_t vuc32;  /*!< Read Only */
typedef __I uint16_t vuc16;  /*!< Read Only */
typedef __I uint8_t vuc8;   /*!< Read Only */










#endif